1. Field of the Invention
The present invention relates to a vector quantizer for encoding digital signals at a high efficiency.
2. Prior Art
FIG. 1 is a block diagram of the structure of a vector quantizer of the prior art indicated in the Technical Report IT 85-61 of IECE Japan. In the same figure, 1 designates a vector quantizing encoder for vector-quantizing input vectors 101 and outputting indices of quantizing representative vectors as the encoded data 105; 2 designates a codebook for storing a plurality of quantizing representative vectors 102 and 5 designates a vector quantizing decoder for recovering, as decoded vectors 106, the quantizing representative vectors corresponding to said indices given as the encoded data 105.
Operation will now be explained. The k-dimensional input vector 101 is defined as X=[X.sub.1, X.sub.2, . . . , X.sub.k ] and the quantizing representative vector Y.sub.i =[y.sub.1, y.sub.2, . . . , y.sub.k ] is set to [Y]=[Y.sub.1, Y.sub.2, . . . , Y.sub.N ] 102. The vector quantizing encoder 1 determines the quantizing representative vector Y.sub.i which minimizes the distortion di from the input vector X defined by the following formula. ##EQU1##
As the encoded data 105, the index i for identifying the quantizing representative vector Y.sub.i is output and transmitted.
The vector quantizing decoder 5 reads the quantizing representative vector Y.sub.i corresponding to the index i given by the encoding data 105 from the codebook 2 and regenerates decoding vector X 106. EQU X=Y.sub.i
In the course of the vector quantization described, the tree-searched method indicated hereunder is used for high speed arithmetic operations during the search of quantizing representative vectors. FIG. 2 is an example of quantizing representative vectors arranged in the form of a binary tree. Preceding design determines that the higher vector is the representative vector of the lower vector.
In each stage, the procedures for selecting a vector from the two vectors where distortion from the input vector X becomes smaller are sequentially executed from the highest location to the lowest location to determine the final quantizing representative vector. In the binary tree, `0` or `1` is assigned depending on the branching direction from respective nodes and a stream of binary numbers representing a route up to the quantizing representative vector of the lowest location corresponds to the index i of the quantizing representative vector.
Since the vector quantizer of the prior art is constituted as described, if the number of orders of the vector is high, it has been difficult to perfectly optimize a limited number of quantizing representative vectors stored previously within the codebook for all information source input vectors and also it has been a problem to reduce excessive quantization error generated in irregular input vectors.
Further, FIG. 3 is a block diagram illustrating the constitution of an interframe vector quantization encoding and decoding apparatus in the prior art disclosed, for example, in Murakami et al. "Vector quantization system interframe encoding simulation", report No. 1175 in 1983 whole country symposium of the Institute of Electronics and Communication Engineers of Japan. In FIG. 3, numeral 201 designates a subtractor which performs subtraction between input video signal series 301 and interframe forecast video signal series 302 and outputs interframe difference signal series 303, and numeral 202 designates a vector quantization encoding and decoding unit which inputs the interframe forecast video signal series 303 and encoding control parameter 309 and outputs encoded data 304 and decoding interframe difference signal series 305.
Numeral 203 designates an adder which adds the interframe forecast video signal series 302 and the decoding interframe difference signal series 305, and outputs decoding video signal series 306.
Numeral 204 designates a frame memory which supplies the decoding video signal series 306 with delay of one frame, and forms the interframe forecast video signal series 302.
Numeral 205 designates a variable length encoding unit which inputs the encoded data 304 and outputs variable length encoded data 307, and numeral 206 designates a transmission buffer for speed smoothing which inputs the variable length encoded data 307 and outputs encoding control command signal 308 and transmission data 310.
Numeral 207 designates an encoding control unit which inputs the encoding control command signal 308, and outputs encoding control parameter 309 to the vector quantization encoding and decoding unit 202.
The vector quantization encoding and decoding unit 202 is constituted as shown in FIG. 4. In FIG. 4, numeral 224 designates a mean value separation normalization unit which inputs the interframe difference signal series 303, and outputs separated mean value 401, amplitude gain 403 and normalization vector 501.
Numeral 210 designates a read only code book which stores a plurality of normalization output vectors 411, and numeral 225 designates a vector quantization encoder which selects normalization output vector 411 so as to minimize distortion of the normalization vector 501, and outputs index 409 of the selected normalization output vector.
Numeral 214 designates a block discrimination unit which inputs encoding control parameter 309, mean value 401 and amplitude gain 403, and outputs block discrimination data 404.
Numeral 215 designates a mean value encoder which inputs encoding control parameter 309 and mean value 401, and outputs mean value encoding data.
Numeral 216 designates an amplitude gain encoder which inputs encoding control parameter 309 and amplitude gain 403, and outputs amplitude gain encoding data 406.
Numeral 217 designates a mean value decoder which inputs block discrimination data 404 and mean value encoding data 405, and outputs decoded mean value 407.
Numeral 218 designates an amplitude gain decoder which inputs block discrimination data 404 and amplitude gain encoding data 406, and outputs decoded amplitude gain 408.
The block discrimination data 404, the mean value encoding data 405, the amplitude gain encoding data 406 and the index 409 become the encoded data 304 and are transmitted to the variable length encoding unit 205 in FIG. 3.
Numeral 226 designates a vector quantization decoder which inputs index 409 and normalization output vector 411 outputted from the code book 210, and outputs selected output vector 502, and numeral 227 designates an amplitude reproduction mean value adding unit which inputs the output vector 502 and outputs decoding interframe difference signal series 305.
Next, operation will be described. Input video signal series 301 has interframe forecast video signal series 302 subtracted by the subtractor 201 and is converted into interframe difference signal series 303. Since the interframe difference signal series 303 becomes small in overall power in comparison to the original signal, encoding with less encoding error is possible in the same encoding quantity.
The interframe difference signal series 303 is subjected to high-efficiency encoding and decoding operations in the vector quantization encoding and decoding unit 202 as hereinafter described, thereby encoded data 304 and decoding interframe difference signal series 305 can be obtained.
In the adder 203, the interframe forecast video signal series 302 and the decoding interframe difference signal series 305 are added, thereby decoding video signal series 306 can be obtained.
The decoding video signal series 306 is stored in the frame memory 204 and delayed by prescribed frame time, thereby interframe forecast video signal series 302 for the next encoding operation is formed.
On the other hand, encoded data 304 is converted by the variable length encoding unit 205 into suitable variable length code data (code word) and stored in the transmission buffer 206, subjected to speed smoothing and transmitted as transmission data 310 at a constant speed.
Also in the transmission buffer 206, the total code quantity corresponding to one frame is estimated as encoding control command signal 308 (hereinafter referred to as "encoding information generating quantity") and supplied to the encoding control unit 207.
Based on the encoding information generating quantity 308 and an encoding mode signal such as encoding speed, reproduction picture quality or the like fixedly selected in accordance with external commands, the encoding control unit 207 adaptively develops encoding control parameter 309 used in the vector quantization encoding and decoding unit 202.
High-efficiency encoding and decoding operation in the vector quantization encoding and decoding unit 202 will be described referring to FIG. 4. An input signal to be subjected to vector quantization is interframe difference signal series 303. The interframe difference signal series 303 is converted into blocks (vector) in the mean value separation normalization unit 224, and subjected to mean value separation normalization processing.
If the blocked input signal series is expressed by .epsilon.=[.epsilon..sub.1, .epsilon..sub.2, . . . , .epsilon..sub.k ] (k=m.sub.1 .times.m.sub.2, m.sub.1, m.sub.2 : natural number), the mean value separation normalization processing can be described, for example, by following formulas. ##EQU2##
Since all normalization vectors x=[x.sub.1, x.sub.2, . . . , x.sub.k ] 501 obtained through the above-mentioned process are distributed on the unit super spherical surface of the k-dimensional signal space, the vector quantization efficiency can be improved in comparison to the case that input vector s before the mean value separation normalization is subjected to vector normalization directly.
A plurality of normalization output vectors y.sub.l 411 defined as quantization representative points of the normalization vector x are previously stored in the code book 210.
The normalization output vector y.sub.l is normalized under condition that ##EQU3## In the vector quantization encoder 225, the normalization output vector y.sub.i is selected so that distortion of the normalization vector X becomes minimum, and index i 409 to discriminate the normalization output vector is outputted. That is, calculation the following formulas is executed. ##EQU4## y.sub.l =[y.sub.l1, y.sub.l2, . . . y.sub.lk ] is normalization output vector
[Y]=[y.sub.1, y.sub.2, . . . , y.sub.l, . . . y.sub.N ] is code book PA1 vector quantization Q: Q (x)=y.sub.i PA1 wherein d (x, y.sub.i)&lt;d (X, y.sub.l) ( .sub.l .noteq.i) PA1 Y=y.sub.1, y.sub.2, . . . , y.sub.i, . . . y.sub.N is code book content) PA1 vector quantization: Q (X)=y.sub.i PA1 wherein d (X, y.sub.i)&lt;d (X, y.sub.m) for .sub.m .noteq.i
On the other hand, the separated mean value m 401 and the amplitude gain g 403 are individually made highly efficient by the mean value encoder 215 and the amplitude gain encoder 216 respectively.
Encoding characteristics such as quantization bit number, quantization width or the like of a scalar quantizer used in the mean value encoder 215 are adaptively controlled based on encoding control parameter 309.
The mean value m 401 and the amplitude gain g 403 are used together with the encoding control parameter 309 for the block discrimination in the block discrimination unit 214.
That is, comparison of amounts with threshold value Th corresponding to the encoding control parameter 309 is executed in accordance with following formulas, and block discrimination data .nu. 404 is determined. EQU .vertline.m.vertline..ltoreq.Th and g.ltoreq.Th . . . .nu.=0 (invalid block) EQU .vertline.m.vertline.&gt;Th or g&gt;Th . . . .nu.=1 (valid block)
Regarding the valid block, the mean value encoding data 405 corresponding to the block, the amplitude gain encoding data 406, the index 409 together with the block discrimination data 404 are outputted as encoded data 304.
Further, using mean value m 407 and amplitude gain 408 g decoded respectively through the mean value decoder 217 and the amplitude gain decoder 218 and normalization output vector yi 502 corresponding to the index 409 read from the code book 210 in the vector quantization decoder 226, the following local decoding operation is executed in the amplitude reproduction mean value adding unit 227 thereby obtaining decoding vector s comprising decoding interframe difference signal 305. EQU .epsilon..sub.j =g.multidot.yij+m EQU .epsilon.=[.epsilon..sub.1, .epsilon..sub.2, . . . .epsilon..sub.k ]
Regarding an invalid block, any interframe difference signal value of the block is treated as 0. Consequently, the outputted encoded data 304 may be the block discrimination data 404 only, and the mean value encoding data 405, the amplitude gain encoding data 406 and the index 409 need not be transmitted.
Also in the mean value decoder 217 and the amplitude gain decoder 218, both the decoded mean value m 407 and the amplitude gain g 408 are outputted as 0 thereby the decoding vector .epsilon. is given by EQU .epsilon.=[0, 0, . . . , 0]
Since the interframe vector quantization encoding and decoding apparatus in the prior art is constituted as above described, there have been problems in that the adaptive encoding processing corresponding to variations of properties of the input image cannot be performed effectively, and the information generating quantity is extremely increased when the block discrimination threshold value is made small to improve the reproduction picture quality.
FIG. 5 is a block diagram illustrating a further interframe vector quantizer in the prior art disclosed, for example, in Murakami et al. "Vector quantization system interframe encoding simulation", report No. 1175 in 1983 whole country symposium of the Institute of Electronics and Communication Engineers of Japan.
In FIG. 5, numeral 601 designates input video signal series, numeral 655 designates interframe forecast signal, numeral 609 designates a subtractor which performs subtraction between the input video signal series 1 and the interframe forecast signal 655, numeral 656 designates interframe difference signal outputted from the subtractor 609, numeral 657 designates a vector quantization encoding unit to which the interframe difference signal 656 is inputted, numeral 658 designates encoding data outputted from the vector quantization encoding unit 657, numeral 659 designates a vector quantization decoding unit to which the encoding data 658 is inputted, numeral 660 designates interframe decoding difference signal outputted from the vector quantization decoding unit 659, numeral 616 designates an adder which adds the interframe decoding difference signal 660 and the interframe forecast signal 655, numeral 661 designates decoding video signal series outputted from the adder 616, numeral 662 designates a third frame memory which supplies the decoding video signal series 661 with frame delay and forms the interframe forecast signal 655, numeral 619 designates a variable length encoding unit to which the encoding data is inputted, numeral 620 designates a buffer which is connected to the variable length encoding unit 619 and performs the speed smoothing, numeral 612 designates threshold value which is transmitted from the buffer 620 to the vector quantization encoding unit 657 and used for the block discrimination, numeral 623 designates a circuit interface (hereinafter referred to as "circuit I/F") connected to the buffer 620, and numeral 624 designates a transmission signal outputted from the circuit I/F 623.
FIG. 6 is a block diagram illustrating the constitution of the vector quantization encoding unit 657. In FIG. 6, numeral 663 designates a mean value separation normalization unit to which the interframe difference signal 656 from the subtractor 609 is inputted, numeral 637 designates a normalization vectors outputted from the mean value separation normalization unit 663, numeral 651 designates a fixed code book which stores normalization output vector, numeral 630 designates the normalization output vector outputted from the fixed code book 651, numeral 664 designates a distortion calculating unit to which the output vector 630 is inputted and which estimates distortion with the normalization vector 637, numeral 665 designates distortion estimated by the distortion calculating unit 664, numeral 666 designates a minimum distortion detecting unit which detects a minimum distortion from the distortion 665, numeral 632 designates an index of the output vector to give the minimum distortion outputted from the minimum distortion detecting unit 666, numeral 667 designates mean value and amplitude separated in the mean value separation normalization unit 663, numeral 639 designates a block discrimination unit to which the mean value and the amplitude and the threshold value 612 from the buffer 620 are inputted, and numeral 640 designates block discrimination information outputted by the block discrimination unit 639. The encoded data 658 outputted from the vector quantization encoding unit 657 is constituted by the block discrimination information 640, the index 632 of the output vector to give the minimum distortion, and the mean value and the amplitude 667 separated in the mean value separation normalization unit 663.
Next, operation will be described. Input video signal series 601 has interframe forecast signal 655 by the subtractor 609 and is converted into interframe difference signal 656. Since the interframe difference signal 656 becomes small in power in comparison to the original signal, encoding with little encoding error is possible. The interframe difference signal 656 is encoded in the vector quantization encoding unit 657 (The encoding system will be hereinafter described). Then the threshold value 612 from the buffer 620 is used as parameter. The encoded data 658 encoded in the vector quantization encoding unit 657 is decoded in the vector quantization decoding unit 659, thereby obtaining the interframe decoding difference signal 660. In the adder 616, the interframe decoding difference signal 660 and the interframe forecast signal 655 are added thereby obtaining the decoding video signal series 661. The decoding video signal series 661 is once stored in the third frame memory 662 and supplied with frame delay thereby forming the interframe forecast signal 655. On the other hand, the encoded data 658 outputted from the vector quantization encoding unit 657 is also inputted to the variable length encoding unit 619 and subjected to variable length encoding, and further stored temporarily in the buffer 620, subjected to speed smoothing processing, and then transmitted as transmission signal 624 through the circuit I/F 623. Also in the buffer 620, the threshold value 612 proportional to the storage quantity of the variable length encoded data is outputted and supplied to the vector quantization encoding unit 657 thereby the information generating quantity is controlled.
Next, encoding and control of the information quantity in the vector quantization encoding unit 657 will be described. An input signal to be subjected to vector quantization is the interframe difference signal 656. The interframe difference signal 656 is converted into blocks (vector) in the mean value separation normalization unit 663, and subjected to mean value separation normalization processing and outputted as the normalization vector 637. If the blocked input signal is made S=[s.sub.1, s.sub.2, . . . , s.sub.K ] the mean value separation normalization processing can be described, for example, by the following formulas. ##EQU5##
In the normalization vector X=[x.sub.1, x.sub.2, . . . , x.sub.K ] obtained as above described, the scalar quantity is the mean value and the amplitude is separated thereby the probability distribution is made uniform in comparison to the vector S before the mean value separation normalization, and efficiency of the vector quantization as hereinafter described can be improved. Distortion between the normalization vector 637 and the normalization output vector 630 read from the fixed code book 651 is estimated in the distortion calculating unit 664. In the minimum distortion detecting unit 666, the minimum value among the distortion values 665 between the normalization output vector 630 stored in the fixed code book 651 and the inputted normalization vector 637 is detected, and the index 632 of the output vector having a minimum distortion is outputted. This process is the vector quantization. This is expressed by the following formulas. ##EQU6## (where, y.sub.i =[y.sub.i1, y.sub.i2, . . . , y.sub.iK ] is normalization output vector
In this case, the encoding processing is image from X to i, and image from i to y.sub.i (read of the fixed code book 651) becomes decoding processing. i corresponds to the index 632. On the other hand, the mean value and the amplitude 667 are used, together with the threshold value 612 for the block discrimination in the block discrimination unit 639. If the threshold value 612 in the block discrimination unit 639 is made Th, the block discrimination is expressed, for example, by following formulas. EQU .vertline.m.vertline..ltoreq.Th and g.ltoreq.Th . . . invalid block EQU .vertline.m.vertline.&gt;Th or g&gt;Th . . . valid block
Regarding the invalid block, an interframe difference signal of the block is treated as 0. Consequently, the mean value and the amplitude 667 and the index 632 need not be transmitted as the encoded data 658. The encoding data 658 outputted from the vector quantization encoding unit 657 comprises the mean value and the amplitude 667, the block discrimination signal 640 and the index 632. However, in the case of the invalid block, since only the block discrimination signal 640 has meaning, control of the information generating quantity becomes possible by the threshold value 612.
Since the interframe vector quantizer in the prior art is constituted as above described, there have been problems in that the input video signal series with low space frequency and being sensitive in the visual sense and the input video signal series with high space frequency and being insensitive in the visual sense must be encoded without distinction and therefore the effective encoding taking visual sense characteristics into consideration is difficult.
Still further, FIG. 7 indicates a frame structure of the multimedia data transmission system of the prior art indicated in the Technical Report ICS87-7 of IECE Japan, 1987, by Juji Matsumoto, entitled "Structure and Application of Interface in 64 Kbps System Multimedia Communication System". In the same figure, 716 designates an octet frame comprised of eight subchannels of 1 bit having a repetition frequency of 8 kHz; 717 designates a transmission frame comprised of 80 octet frames 716.
FIG. 8 is a table for explaining the assignment of frame synchronous signals (FAS) in FIG. 7.
FIG. 9 is a table showing the content of frame synchronous signals (FAS) in the multiframe formed by 16 transmission frames 717 in FIG. 7.
FIG. 10 is a profile for sending the transmission frame shown in FIG. 7 to the transmission path with the bit rate of 64 Kbps. In this figure, 718 designates a bit string to be sent to the 64 Kbps transmission path.
Operation will now be explained. In FIG. 7, the octet frame 716 has the 8-bit length. The period T.sub.oct of the octet frame 716 in case it is sent to the line with transmission rate of 64 Kbps is given by EQU T.sub.oct =64 Kbps/8-bit=8 kHz
and transmission capacity C.sub.s per subchannel of 1 bit is indicated by EQU C.sub.s =1 bit.times.T.sub.oct =8 Kbps
Namely, in case the subchannel in the octet frame 716 is individually assigned to the voice, video signal and data, each assigning rate becomes an integer time of 8 Kbps. It provides an advantage that matching with voice encoding and decoding apparatus (voice codec)usually having the sampling frequency of 8 kHz can be obtained easily. The transmission frame 717 is formed by 80 octet frames 716 with the frame bits occupying the 8th subchannel (service channel) in the octet frame 716 for identifying the subchannel in the octet frame 716 and also identifying assignment of subchannel to each media. The 8th subchannel (service channel) in the transmission frame 716 makes a cycle in use in the 80 octet frames 716.
The 8th subchannel (service channel) is formed by 8-bit frame synchronous signal FAS, 8-bit bit rate assigning signal BAS and 64-bit application channel AC. A content shown in FIG. 8 is arranged as the frame synchronous pattern in the FAS to decide the frame synchronization and the multiframe synchronization formed by collecting 16 transmission frames 717. In the receiving side, the synchronization of transmission frame 717 is first set by detecting a unique pattern. Next, the multiframe synchronization is a table indicating content of mi bit indicated in FIG. 8 and the unique pattern and additional information are arranged by assigning 16 bits to the Mi bit in the one multiframe.
BAS in the transmission frame 717 dynamically changes the assigning information for each of 8 transmission frames SMF1, SMF2 717 which is equal to 1/2 of the multiframe shown in FIG. 9 and the same BAS information is transmitted 8 times in total, with each transmission directed to the transmission frame 717 of SMF1 and SMF2. In the receiving side, an error protecting means for identifying bit rate assignment in the next SMF based on the BAS information which is matched in content for 5 times or more among 8 times in total is applied.
The application channel AC is assigned to a command data for inter-terminal negotiation during the initial setting but it is assigned to user data during communication for effective use of lines. The bit capacity CA.sub.c of AC is given according to the following relation. EQU CA.sub.c =T.sub.oct .times.64/80=64 Kbps
FIG. 10 shows practical structure of the transmission frame 717 to be transmitted to the 64 Kbps line in accordance with the above description.
The transmission frame structure is based on the bit rate assignment for each subchannel having the capacity of 8 Kbps and it is apparent that this frame structure cannot directly be applied to the 56 Kbps line which is generally employed in the US or to the 32 Kbps line which is often used for the communication networks in the private companies.
Since the multimedia data transmission system of the prior art has been constituted as described above, it is difficult to apply this system to the line of l.times.8 Kbps (l is an integer of 1 or larger). For instance, there is a problem that amount of H/W increases and transmission capacity cannot be used effectively for the necessity of setting individual frame formats corresponding to each transmission rate in order to provide the function suitable for the l.times.8 Kbps line with the same apparatus.
Still further, FIG. 11 is a block diagram indicating a configuration of an interframe encoding apparatus of the prior art using an encoding control system, introduced in the Technical Report CS85-3 of IECE Japan, 1986 by Murakami, Itoh and Kamizawa, entitled "Colored Dynamic Video Signal Transmission System for TV Conference".
In this figure, 902 designates a subtractor for subtracting a preceding frame recovery video signal series 912 from input video signal series 901 and outputting an interframe difference signal series 903. 906 designates an encoding and decoding means (CODEC) for inputting an interframe difference signal series 903 and a block recognition data 905 and outputting an encoding data 907 and an interdecoded frame difference signal series 908.
In addition, 909 designates an adder for adding such preceding frame recovery video signal series 912 and interdecoded frame difference signal 908 and outputting a recovered video signal series 910.
911 designates a frame memory for storing up to one frame of such recovered video signal series 910.
913 designates a sending buffer for inputting an encoding data 907 to obtain amount of information generated, outputting an encoding control signal 914 and sending data 915.
916 designates an encoding control means for inputting an encoding control signal 914 and outputting encoding control parameter 917 to a block discrimination means 904.
904 designates a block discrimination means for inputting an encoding control parameter 917 and an interframe difference signal series 903 and outputting a block discrimination data 905.
FIG. 12 is an example of structure of the block discrimination means 904 shown in FIG. 11.
1001 designates a threshold value control means for outputting a threshold value Th 1002 corresponding to the encoding control parameter 917 and 1003 designates a block decision means for discriminating blocks depending on the threshold value Th 1002.
Operation will now be explained.
The subtractor 902 subtracts the preceding frame recovery video signal series 912 from the input video signal series and converts it into an interframe difference signal series 903. This interframe difference signal series allows more minute encoding with less encoding error in the same amount of encoding since the total signal power thereof is smaller than the original signal.
The interframe difference signal series 903 is encoded and decoded with high performance in the codec 906 in order to obtain the encoded data 907 and inter-decoded frame difference signal series 908.
The adder 909 addes the preceding frame recovery video signal series 912 and inter-decoded frame difference signal series 908 to obtain a recovered video signal series 910.
This recovered video signal series 910 is stored in the frame memory 911 to give delay of the predetermined frame period and form a preceding frame recovery video signal series for the encoding of next frame.
Meanwhile, the encoding data 907 is once stored in the sending buffer 913 and is then transmitted as the sending data 915.
Moreover, the sending buffer 913 obtains a total sum of the amount of codes up to one frame as the encoding control signal 914 (amount of information generated) and then supplies it to the encoding control means 916.
With such amount of information generated 914 and instruction from external circuit, the encoding control means 916 adaptively controls the encoding control parameters 917 to be used in the block discrimination means 904 for each frame on the basis of the encoding rate which is uniquely selected and an encoding mode signal such as quality of recovered signal.
Since the block discrimination means 904 decides the block of the frame as a whole with the threshold value Th corresponding to the encoding control parameter 917, the threshold value Th 1002 is output from the threshold value control means 1001, allowing comparison between Th and data value in the block decision means 1003 depending on the following formula and thereby determining the block discrimination data 905. ##EQU7##
For the valid block, a data value corresponding to the block is output as the encoded data 907 along with the block discrimination data .nu.905, while for the invalid block, a data value corresponding to the block is considered as 0 and only the block discrimination data .nu.905 is output as the encoded data 907.
The encoding control system used in the interframe encoding apparatus of the prior art is executed as described previously, there arises a problem that if the block discrimination threshold values are all lowered in unit of frame in the same degree when an input image becomes stationary, the number of valid blocks in unit of one frame increases, and amount of information generated becomes extremely large.
Still further, FIG. 13 is a block diagram of the image encoding transmission apparatus disclosed in "Adaptive Quality Control in Dynamic Encoding" by Atsuya Itoh (draft of Image Encoding Symposium, Jun. 3, 1986).
As shown in the same figure, the image encoding transmission apparatus is comprised of a preprocessing means (A), a motion compensating means (B), a vector quantizing encoding means (C) and a vector quantizing decoding means (D).
The processing means (A) comprises an A/D converter 1101 for generating a pixel signal 1201 through analog/digital conversion (hereinafter referred to as A/D conversion) by reading the video signal for each frame and a block divider 1102 for grouping the adjacent pixels on the image into blocks each of which is composed of the predetermined number of pixels and generating the image vector signal 1202 consisting of pixel signal 1201 group for each block.
Moreover, the motion compensating means (B) comprises a frame memory 1103 for storing the decoded recovery signal 1212 of a preceding frame and a motion compensating processing means 1204 for producing a plurality of reference blocks 1203 with reference to the current block position from the decoded recovery signal 1212 of the preceding frame stored in the frame memory 1103 and outputting, by searching, the reference block 1204a which is approximated closest to the image vector signal 1202 and movement position information 1204b.
The vector quantizing encoding means (C) comprises a subtractor 1105 for obtaining the difference between the image vector signal 1202 and the selected reference block 1204a by subtraction and outputting a difference vector signal 1205, a valid/invalid block discriminating means 1106 for calculating an evaluation value which indicates magnitude of the difference vector signal 1205, executing comparison between the evaluation value and threshold value, and judging the block discrimination information as invalid information under the decision that the image vector signal 1202 is identical to the reference block 1204a when the evaluated value is within the range of the threshold value, or judging the block decision information as the valid information considering it as the block to be transmitted when the evaluated value is out of the range of threshold value, a vector quantizing encoding means 1107 for vector-quantizing and encoding only the difference vector 1205 decided as the valid information in the valid/invalid block discriminating means 1106 to output the encoded vector signal 1207 and a variable length encoding means 1108 for encoding, in variable length, the encoded vector signal 1207 and movement location information 1204b through multiplexing.
A multiplex encoded data 1208 output from the variable length encoding means 1108 is output to the communication line through the send buffer 1109.
The vector quantizing decoding means (D) comprises a vector quantizing decoding means 1110 for outputting a decoded vector signal 1210 by decoding the encoded vector signal 1207 and an adder 1111 for adding the decoded vector signal 1210 and searched reference block 1204a to output the decoded reproducing vector signal 1211.
A space filter 1112 executes the smoothing process of the decoded reproducing signal 1211.
Next, operations of image encoding transmission apparatus of the prior art will be explained.
First, the dynamic video signal 1200 of the first frame is input to the A/D converter, then converted to the pixel signal 1201 and input to the block divider 1102.
The block divider 1102 produces the video vector signal 1202 by blocking the predetermined number of the adjacent pixel signals 1201 on the image and then outputs such vector signal.
Next, the video vector signal 1202 passes directly through the subtractor 1105 and is then input to the vector quantizing encoding means 1107.
Thereafter, the vector quantizing encoding means 1107 performs the vector quantizing and encoding of the video vector signal 1202 as explained below.
A mean value m of the video vector signal 1202 is first calculated. Separation of mean value is carried out on the basis of mean value m and the mean value separating vector is output.
The vector approximated closest to the mean value separating vector is searched from the code-book storing a plurality of pattern vectors to be output as the encoded vector 1207 of the vector signal 1202.
The vector quantized and encoded vector signal 1207 is output to the communication line as the send encoded data 1209a through the send buffer 1009 after it is encoded to the code in variable length.
Meanwhile, the encoded vector signal 1207 is input to the vector quantizing encoding means 1110 and then decoded. Thereafter, it passes the adder 1111 and is then written into the frame memory 1103 after the smoothing processing by the space filter 1112.
A dynamic video signal 1200 of the second frame is converted to the video vector signal 1202 in the preprocessing circuit (A) and is then output and the video vector signal 1202 is input to the subtractor 1105.
Moreover, this vector signal 1202 is input to the motion compensating processing means 1104.
On the other hand, a plurality of reference block signals 1203 including the vector signal in the same position as the input block is produced from the decoded reproducing signal 1212 stored in the frame memory 1103 and is then input to the motion compensating processing means 1104.
In the motion compensating processing means, distortion between the vector signal 1202 and the reference block signal 1203 is calculated, the reference block which gives minimum distortion is selected and the reference block signal 1204a thereof and movement position information 1204b are output respectively.
The subtractor 1105 calculates the difference between the vector signal 1202 and reference block signal 1204a to produce the difference vector signal 1205 and then outputs such signal to the vector quantizing encoding means 1107 and valid/invalid block discrimination means 1106.
The valid/invalid block discrimination means 1106 makes decision expressed by the following formula. ##EQU8## wherein d: evaluated value
.epsilon..sub.i : difference vector signal element EQU When d.gtoreq.Th, valid EQU When d&lt;Th, invalid
In case decision by the valid/invalid block discrimination means 1106 is valid, the difference vector signal 1205 is subject to the vector quantizing and encoding as the information to be sent.
Moreover, in case decision by the valid/invalid block discrimination means 1106 is invalid, the selected reference block 1204a is considered as identical to the video vector signal 1202 and only the movement position information 1204b is transmitted.
Next, the encoding vector signal 1207 is multiplexed in the variable length encoding means 1108 together with the movement position information 1204b through the variable length encoding, wherein a shorter code is assigned for the signal having high generation probability and a longer code to the signal having low generation probability, and is then output to the send buffer 1109.
Meanwhile, the encoded vector signal 1207 is converted to the decoded vector signal 1210 in the vector quantizing decoding means 1110, then added to the reference block signal 1204a in the adder and is converted to the decoded reproducing vector signal 1211.
Further, the decoded reproducing vector signal 1211 is subjected to the smoothing process in case the movement position information 1204b is large and is then stored in the frame memory 1103. Here, the smoothing process of space filter 1112 is carried out on the basis of the movement position information 1204b obtained by the motion compensation and the control is carried out so that the smoothing process is executed only to the same region, but to the stationary region.
With the configuration as described, the video encoding transmission apparatus of the prior art also carries out the smoothing process with a filter to the region to which the encoding with high accuracy has been conducted to produce the decoded image approximated to the input dynamic image signal and on the other hand, is accompanied by a problem of deteriorating quality of decoded image because the smoothing process is not carried out to the stationary region to execute the on-off control of filter with the motion vector information and thereby encoding noise to the roughly encoded region is accumulated.